//
// Created by Administrator on 2024/3/11.
//
#include<bits/stdc++.h>

using namespace std;
using ll = long long;
#define endl '\n'

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    int n, q;
    cin >> n >> q;
    vector<stack<int>> A(n, stack<int>());
    while (q--) {
        int op;
        cin >> op;
        if (op == 0) {
            int t, e;
            cin >> t >> e;
            A[t].push(e);
        } else if (op == 1) {
            int t;
            cin >> t;
            if (not A[t].empty())cout << A[t].top() << endl;
        } else if (op == 2) {
            int t;
            cin >> t;
            if (not A[t].empty())A[t].pop();
        }

    }

    return 0;
}
